package com.team.base.module.entity.sys.order;

import java.util.Date;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.team.base.base.annotation.Dic;
import com.team.base.base.entity.BaseEntity;
import com.team.base.common.constant.DictConstant;
import com.team.base.common.export.ExclePayStatusConverter;
import com.team.base.common.export.ExclePayTypeConverter;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;


/**
 * 项目名称: base
 * 类名称: Order
 *
 * 创建人: yyq
 * 创建时间: 2023年2月15日下午11:08:45
 */
@Data
public class Order extends BaseEntity {

	@ApiModelProperty(value = "订单码", position = 1)
	@ExcelProperty("订单码")
	private String orderNo;

	@ApiModelProperty(value = "真实的订单码", position = 2)
	@ExcelProperty("真实的订单码")
	private String trueCode;

	@ApiModelProperty(value = "项目id", position = 3)
	@ExcelIgnore
	private String payItem;

	@ApiModelProperty(value = "项目名称", position = 4)
	@ExcelProperty("项目名称")
	private String projectName;

	@ApiModelProperty(value = "状态 0 未支付 1 支付中 2 支付成功 3 支付失败 4 取消支付", position = 5)
	@Dic(type = DictConstant.PAY_STATUS)
	@ExcelProperty(value = "支付状态", converter = ExclePayStatusConverter.class)
	private String status;

	@ApiModelProperty(value = "支付金额", position = 6)
	@ExcelProperty("支付金额")
	private Float money;

	@ApiModelProperty(value = "参数", position = 7)
	@ExcelIgnore
	private String param;

	@ApiModelProperty(value = "开始支付时间", position = 8)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelProperty("开始支付时间")
	private Date startPayTime;

	@ApiModelProperty(value = "结束支付时间", position = 9)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelIgnore
	private Date endPayTime;

	@ApiModelProperty(value = "完成时间", position = 10)
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
	@ExcelProperty("结束支付时间")
	private Date finishTime;

	@ApiModelProperty(value = "支付类型 0 微信 1 支付宝", position = 11)
	@Dic(type = DictConstant.PAY_TYPE)
	@ExcelProperty(value = "支付类型", converter = ExclePayTypeConverter.class)
	private String payType;

}
